/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interfaz;

import static Auxiliares.Interfacez.TablaPrestamos.*;
import static Auxiliares.MensajesCodigosError.LOGO;
import Controladores.ControladorCamposTexto;
import Interfaz.Altas.InterfazAltaEquipoComputo;
import java.awt.Color;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Marko
 */
public class InterfazPrincipal extends javax.swing.JFrame{

    /**
     * Creates new form Principal
     */
    public InterfazPrincipal() {
        initComponents();
        establecerIconoYFondo();
        establecerPosicionYTamano();
        controladorCampos = new ControladorCamposTexto();
    }
    
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPopupOpcionesPrestamos = new javax.swing.JPopupMenu();
        jMenuVer = new javax.swing.JMenu();
        jMenuItemInfoAlumno = new javax.swing.JMenuItem();
        jMenuItemInfoEquipo = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        jMenuItemNuevoPrestamo = new javax.swing.JMenuItem();
        jMenuItemDevolucion = new javax.swing.JMenuItem();
        jMenuItemModificar = new javax.swing.JMenuItem();
        jMenuItemRenovacion = new javax.swing.JMenuItem();
        jMenuItemCancelar = new javax.swing.JMenuItem();
        jTextField2 = new javax.swing.JTextField();
        jPanelMenuOpciones = new javax.swing.JPanel();
        jButtonNuevoPrestamo = new javax.swing.JButton();
        jTextFieldBusqueda = new javax.swing.JTextField();
        jButtonModificar = new javax.swing.JButton();
        jButtonCancelarPrestamo = new javax.swing.JButton();
        jButtonDevolucion = new javax.swing.JButton();
        jButtonRenovacion = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTablePrestamosInternos = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTablePrestamosExternos = new javax.swing.JTable();
        jLabelPrestamosExternos = new javax.swing.JLabel();
        jLabelPrestmosInternos = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenuAlumnos = new javax.swing.JMenu();
        jMenuItemNuevoRegistroAlumno = new javax.swing.JMenuItem();
        jMenuEmpleados = new javax.swing.JMenu();
        jMenuItemNuevoRegistroPersonal = new javax.swing.JMenuItem();
        jMenuEquiposComputo = new javax.swing.JMenu();
        jInventarioNuevoRegistroEquipoComputo = new javax.swing.JMenuItem();
        jMenuReportes = new javax.swing.JMenu();
        jMenuAdministradores = new javax.swing.JMenu();
        jMenuItemNuevoRegistro = new javax.swing.JMenuItem();

        jMenuVer.setText("Ver");

        jMenuItemInfoAlumno.setText("Informacion del Alumno");
        jMenuVer.add(jMenuItemInfoAlumno);

        jMenuItemInfoEquipo.setText("Informacion del Equipo");
        jMenuVer.add(jMenuItemInfoEquipo);

        jPopupOpcionesPrestamos.add(jMenuVer);
        jPopupOpcionesPrestamos.add(jSeparator1);

        jMenuItemNuevoPrestamo.setText("Nuevo Prestamo");
        jMenuItemNuevoPrestamo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemNuevoPrestamoActionPerformed(evt);
            }
        });
        jPopupOpcionesPrestamos.add(jMenuItemNuevoPrestamo);

        jMenuItemDevolucion.setText("Devolucion");
        jMenuItemDevolucion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemDevolucionActionPerformed(evt);
            }
        });
        jPopupOpcionesPrestamos.add(jMenuItemDevolucion);

        jMenuItemModificar.setText("Modificar");
        jMenuItemModificar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemModificarActionPerformed(evt);
            }
        });
        jPopupOpcionesPrestamos.add(jMenuItemModificar);

        jMenuItemRenovacion.setText("Renovacion");
        jMenuItemRenovacion.setBorderPainted(true);
        jMenuItemRenovacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemRenovacionActionPerformed(evt);
            }
        });
        jPopupOpcionesPrestamos.add(jMenuItemRenovacion);

        jMenuItemCancelar.setText("Cancelar");
        jMenuItemCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemCancelarActionPerformed(evt);
            }
        });
        jPopupOpcionesPrestamos.add(jMenuItemCancelar);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema Administrador Prestamos Equipos Computo");
        setBackground(new java.awt.Color(255, 255, 255));
        setFocusCycleRoot(false);

        jTextField2.setText("jTextField2");

        jButtonNuevoPrestamo.setText("Nuevo Prestamo");
        jButtonNuevoPrestamo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonNuevoPrestamoActionPerformed(evt);
            }
        });
        jButtonNuevoPrestamo.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jButtonNuevoPrestamoKeyPressed(evt);
            }
        });

        jTextFieldBusqueda.setForeground(new java.awt.Color(153, 153, 153));
        jTextFieldBusqueda.setText("Buscar...");
        jTextFieldBusqueda.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextFieldBusquedaFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextFieldBusquedaFocusLost(evt);
            }
        });
        jTextFieldBusqueda.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jTextFieldBusquedaKeyPressed(evt);
            }
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldBusquedaKeyReleased(evt);
            }
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTextFieldBusquedaKeyTyped(evt);
            }
        });

        jButtonModificar.setText("Modificar Prestamo");
        jButtonModificar.setEnabled(false);
        jButtonModificar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonModificarActionPerformed(evt);
            }
        });
        jButtonModificar.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jButtonModificarKeyPressed(evt);
            }
        });

        jButtonCancelarPrestamo.setText("Cancelar Prestamo");
        jButtonCancelarPrestamo.setEnabled(false);
        jButtonCancelarPrestamo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCancelarPrestamoActionPerformed(evt);
            }
        });
        jButtonCancelarPrestamo.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jButtonCancelarPrestamoKeyPressed(evt);
            }
        });

        jButtonDevolucion.setText("Devolucion");
        jButtonDevolucion.setEnabled(false);
        jButtonDevolucion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDevolucionActionPerformed(evt);
            }
        });
        jButtonDevolucion.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jButtonDevolucionKeyPressed(evt);
            }
        });

        jButtonRenovacion.setText("Renovacion");
        jButtonRenovacion.setEnabled(false);
        jButtonRenovacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonRenovacionActionPerformed(evt);
            }
        });
        jButtonRenovacion.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jButtonRenovacionKeyPressed(evt);
            }
        });

        javax.swing.GroupLayout jPanelMenuOpcionesLayout = new javax.swing.GroupLayout(jPanelMenuOpciones);
        jPanelMenuOpciones.setLayout(jPanelMenuOpcionesLayout);
        jPanelMenuOpcionesLayout.setHorizontalGroup(
            jPanelMenuOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelMenuOpcionesLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButtonNuevoPrestamo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonModificar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonCancelarPrestamo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonDevolucion)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonRenovacion)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jTextFieldBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanelMenuOpcionesLayout.setVerticalGroup(
            jPanelMenuOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelMenuOpcionesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelMenuOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonNuevoPrestamo)
                    .addComponent(jButtonModificar)
                    .addComponent(jButtonCancelarPrestamo)
                    .addComponent(jButtonDevolucion)
                    .addComponent(jButtonRenovacion))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jScrollPane1.setOpaque(false);

        jTablePrestamosInternos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Matricula", "Num Inventario", "Fecha Prestamo", "Fecha Limite Devolucion"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTablePrestamosInternos.setAutoscrolls(false);
        jTablePrestamosInternos.setOpaque(false);
        jTablePrestamosInternos.setSelectionBackground(new java.awt.Color(255, 255, 255));
        jTablePrestamosInternos.setSelectionForeground(new java.awt.Color(0, 0, 204));
        jTablePrestamosInternos.getTableHeader().setReorderingAllowed(false);
        jTablePrestamosInternos.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTablePrestamosInternosFocusGained(evt);
            }
        });
        jTablePrestamosInternos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTablePrestamosInternosMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTablePrestamosInternos);
        if (jTablePrestamosInternos.getColumnModel().getColumnCount() > 0) {
            jTablePrestamosInternos.getColumnModel().getColumn(0).setMinWidth(300);
            jTablePrestamosInternos.getColumnModel().getColumn(0).setPreferredWidth(300);
            jTablePrestamosInternos.getColumnModel().getColumn(0).setMaxWidth(300);
            jTablePrestamosInternos.getColumnModel().getColumn(1).setMinWidth(80);
            jTablePrestamosInternos.getColumnModel().getColumn(1).setPreferredWidth(80);
            jTablePrestamosInternos.getColumnModel().getColumn(1).setMaxWidth(80);
            jTablePrestamosInternos.getColumnModel().getColumn(2).setMinWidth(70);
            jTablePrestamosInternos.getColumnModel().getColumn(2).setPreferredWidth(70);
            jTablePrestamosInternos.getColumnModel().getColumn(2).setMaxWidth(70);
            jTablePrestamosInternos.getColumnModel().getColumn(3).setMinWidth(90);
            jTablePrestamosInternos.getColumnModel().getColumn(3).setPreferredWidth(90);
            jTablePrestamosInternos.getColumnModel().getColumn(3).setMaxWidth(90);
            jTablePrestamosInternos.getColumnModel().getColumn(4).setMinWidth(130);
            jTablePrestamosInternos.getColumnModel().getColumn(4).setPreferredWidth(130);
            jTablePrestamosInternos.getColumnModel().getColumn(4).setMaxWidth(130);
        }

        jScrollPane2.setOpaque(false);

        jTablePrestamosExternos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Matricula", "Num Inventario", "Fecha Prestamo", "Fecha Limite Devolucion"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTablePrestamosExternos.setAutoscrolls(false);
        jTablePrestamosExternos.setOpaque(false);
        jTablePrestamosExternos.setSelectionBackground(new java.awt.Color(255, 255, 255));
        jTablePrestamosExternos.setSelectionForeground(new java.awt.Color(0, 0, 204));
        jTablePrestamosExternos.getTableHeader().setReorderingAllowed(false);
        jTablePrestamosExternos.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTablePrestamosExternosFocusGained(evt);
            }
        });
        jTablePrestamosExternos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTablePrestamosExternosMouseClicked(evt);
            }
        });
        jScrollPane2.setViewportView(jTablePrestamosExternos);
        if (jTablePrestamosExternos.getColumnModel().getColumnCount() > 0) {
            jTablePrestamosExternos.getColumnModel().getColumn(0).setMinWidth(300);
            jTablePrestamosExternos.getColumnModel().getColumn(0).setPreferredWidth(300);
            jTablePrestamosExternos.getColumnModel().getColumn(0).setMaxWidth(300);
            jTablePrestamosExternos.getColumnModel().getColumn(1).setMinWidth(80);
            jTablePrestamosExternos.getColumnModel().getColumn(1).setPreferredWidth(80);
            jTablePrestamosExternos.getColumnModel().getColumn(1).setMaxWidth(80);
            jTablePrestamosExternos.getColumnModel().getColumn(2).setMinWidth(70);
            jTablePrestamosExternos.getColumnModel().getColumn(2).setPreferredWidth(70);
            jTablePrestamosExternos.getColumnModel().getColumn(2).setMaxWidth(70);
            jTablePrestamosExternos.getColumnModel().getColumn(3).setMinWidth(90);
            jTablePrestamosExternos.getColumnModel().getColumn(3).setPreferredWidth(90);
            jTablePrestamosExternos.getColumnModel().getColumn(3).setMaxWidth(90);
            jTablePrestamosExternos.getColumnModel().getColumn(4).setMinWidth(130);
            jTablePrestamosExternos.getColumnModel().getColumn(4).setPreferredWidth(130);
            jTablePrestamosExternos.getColumnModel().getColumn(4).setMaxWidth(130);
        }

        jLabelPrestamosExternos.setText("Prestamos Externos");

        jLabelPrestmosInternos.setText("Prestamos Internos");

        jMenuAlumnos.setText("Alumnos");

        jMenuItemNuevoRegistroAlumno.setText("Nuevo registro");
        jMenuItemNuevoRegistroAlumno.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemNuevoRegistroAlumnoActionPerformed(evt);
            }
        });
        jMenuAlumnos.add(jMenuItemNuevoRegistroAlumno);

        jMenuBar1.add(jMenuAlumnos);

        jMenuEmpleados.setText("Empleados");

        jMenuItemNuevoRegistroPersonal.setText("Nuevo registro");
        jMenuItemNuevoRegistroPersonal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemNuevoRegistroPersonalActionPerformed(evt);
            }
        });
        jMenuEmpleados.add(jMenuItemNuevoRegistroPersonal);

        jMenuBar1.add(jMenuEmpleados);

        jMenuEquiposComputo.setText("Equipo computo");

        jInventarioNuevoRegistroEquipoComputo.setText("Nuevo registro");
        jInventarioNuevoRegistroEquipoComputo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jInventarioNuevoRegistroEquipoComputoActionPerformed(evt);
            }
        });
        jMenuEquiposComputo.add(jInventarioNuevoRegistroEquipoComputo);

        jMenuBar1.add(jMenuEquiposComputo);

        jMenuReportes.setText("Reportes");
        jMenuBar1.add(jMenuReportes);

        jMenuAdministradores.setText("Administrador");

        jMenuItemNuevoRegistro.setText("Nuevo registro");
        jMenuItemNuevoRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemNuevoRegistroActionPerformed(evt);
            }
        });
        jMenuAdministradores.add(jMenuItemNuevoRegistro);

        jMenuBar1.add(jMenuAdministradores);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanelMenuOpciones, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabelPrestamosExternos, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabelPrestmosInternos, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 670, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 671, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addGap(4, 4, 4))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanelMenuOpciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabelPrestmosInternos)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabelPrestamosExternos)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMenuItemNuevoRegistroAlumnoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemNuevoRegistroAlumnoActionPerformed

    }//GEN-LAST:event_jMenuItemNuevoRegistroAlumnoActionPerformed

    private void jMenuItemNuevoRegistroPersonalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemNuevoRegistroPersonalActionPerformed

    }//GEN-LAST:event_jMenuItemNuevoRegistroPersonalActionPerformed

    private void jInventarioNuevoRegistroEquipoComputoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jInventarioNuevoRegistroEquipoComputoActionPerformed
        InterfazAltaEquipoComputo administradorEquipos = new InterfazAltaEquipoComputo(this, true);
        administradorEquipos.setVisible(true);
    }//GEN-LAST:event_jInventarioNuevoRegistroEquipoComputoActionPerformed

    private void jMenuItemNuevoRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemNuevoRegistroActionPerformed

    }//GEN-LAST:event_jMenuItemNuevoRegistroActionPerformed

    private void jButtonCancelarPrestamoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jButtonCancelarPrestamoKeyPressed

    }//GEN-LAST:event_jButtonCancelarPrestamoKeyPressed

    private void jButtonCancelarPrestamoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarPrestamoActionPerformed

    }//GEN-LAST:event_jButtonCancelarPrestamoActionPerformed

    private void jButtonDevolucionKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jButtonDevolucionKeyPressed

    }//GEN-LAST:event_jButtonDevolucionKeyPressed

    private void jButtonDevolucionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDevolucionActionPerformed

    }//GEN-LAST:event_jButtonDevolucionActionPerformed

    private void jButtonModificarKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jButtonModificarKeyPressed

    }//GEN-LAST:event_jButtonModificarKeyPressed

    private void jButtonModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonModificarActionPerformed

    }//GEN-LAST:event_jButtonModificarActionPerformed

    private void jButtonNuevoPrestamoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jButtonNuevoPrestamoKeyPressed

    }//GEN-LAST:event_jButtonNuevoPrestamoKeyPressed

    private void jButtonNuevoPrestamoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonNuevoPrestamoActionPerformed

    }//GEN-LAST:event_jButtonNuevoPrestamoActionPerformed

    private void jTextFieldBusquedaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldBusquedaKeyTyped

    }//GEN-LAST:event_jTextFieldBusquedaKeyTyped

    private void jTextFieldBusquedaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldBusquedaKeyReleased

    }//GEN-LAST:event_jTextFieldBusquedaKeyReleased

    private void jTextFieldBusquedaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldBusquedaKeyPressed

    }//GEN-LAST:event_jTextFieldBusquedaKeyPressed

    private void jMenuItemNuevoPrestamoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemNuevoPrestamoActionPerformed

    }//GEN-LAST:event_jMenuItemNuevoPrestamoActionPerformed

    private void jMenuItemDevolucionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemDevolucionActionPerformed

    }//GEN-LAST:event_jMenuItemDevolucionActionPerformed

    private void jMenuItemModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemModificarActionPerformed

    }//GEN-LAST:event_jMenuItemModificarActionPerformed

    private void jMenuItemCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemCancelarActionPerformed

    }//GEN-LAST:event_jMenuItemCancelarActionPerformed

    private void jTablePrestamosInternosFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTablePrestamosInternosFocusGained

    }//GEN-LAST:event_jTablePrestamosInternosFocusGained

    private void jTablePrestamosInternosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTablePrestamosInternosMouseClicked

    }//GEN-LAST:event_jTablePrestamosInternosMouseClicked

    private void jTextFieldBusquedaFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldBusquedaFocusGained

    }//GEN-LAST:event_jTextFieldBusquedaFocusGained

    private void jTextFieldBusquedaFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldBusquedaFocusLost

    }//GEN-LAST:event_jTextFieldBusquedaFocusLost

    private void jButtonRenovacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRenovacionActionPerformed

    }//GEN-LAST:event_jButtonRenovacionActionPerformed

    private void jButtonRenovacionKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jButtonRenovacionKeyPressed

    }//GEN-LAST:event_jButtonRenovacionKeyPressed

    private void jMenuItemRenovacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemRenovacionActionPerformed

    }//GEN-LAST:event_jMenuItemRenovacionActionPerformed

    private void jTablePrestamosExternosFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTablePrestamosExternosFocusGained
        // TODO add your handling code here:
    }//GEN-LAST:event_jTablePrestamosExternosFocusGained

    private void jTablePrestamosExternosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTablePrestamosExternosMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_jTablePrestamosExternosMouseClicked
    
    /**
     * verifica que la tabla este vacia
     * @return devuelve verdadero en caso de que la tabla este vacia
     */
    private boolean esTablaVacia(){
        int TABLA_VACIA = 0;
        boolean TablaEstaVacia = true;
        int numFilas = obtenerNumeroFilas(jTablePrestamosInternos);
        if(numFilas == TABLA_VACIA){
            return TablaEstaVacia;
        }
        return !TablaEstaVacia;
    }
    
    /**
     * @return devuelve el modelo actual de la tabla de prestamos
     */
    private DefaultTableModel obtenerModeloTabla(){
        return (DefaultTableModel) jTablePrestamosInternos.getModel();
    }
    
    /**
     * @return devuelve el numero de la fila seleccionada
     */
    private int obtenerFilaSeleccionada(){
        return jTablePrestamosInternos.getSelectedRow();
    }
    
    /**
     * obtiene el numero de filas de la tabla que le pasen
     * @param _tabla
     * @return Devuelve el numero de filas
     */
    private int obtenerNumeroFilas(JTable _tabla){
        return _tabla.getRowCount();
    }
    
    /**
     * 
     * @param _tabla
     * @param _fila
     * @param _columna
     * @return Devuelve el valor que pretenece a la celda de la fila y la columna seleccionada
     */
    private String obtenerValorTabla(int _fila, int _columna){
        return jTablePrestamosInternos.getValueAt(_fila, _columna).toString();
    }
    
    /**
     * deshabilita los botones de opciones para los prestamos
     */
    private void deshabilitarBotonesOpciones(){
        boolean desactivar = false;
        jButtonModificar.setEnabled(desactivar);
        jButtonDevolucion.setEnabled(desactivar);
        jButtonRenovacion.setEnabled(desactivar);
        jButtonCancelarPrestamo.setEnabled(desactivar);
    }
    
    /**
     * establece el icono de la uady como icono del programa
     */
    private void establecerIconoYFondo(){
        Toolkit toolKit = Toolkit.getDefaultToolkit();
        Image iconoAplicacion = toolKit.getImage(getClass().getResource(LOGO));
        this.setIconImage(iconoAplicacion);
        
        //cambia el color dle jframe
        this.getContentPane().setBackground(Color.white);
        
        //hace transparente del panel de opciones
        jPanelMenuOpciones.setOpaque(false);
        
        //vuelve transparente el jscrollpanel de la tabla
        jScrollPane1.getViewport().setOpaque(false);
    }
    
    /**
     * Establece el un nuevo modelo de la tabla
     * @param _nuevoModeloTabla 
     */
    private void establecerNuevoModeloTabla(DefaultTableModel _nuevoModeloTabla){
        jTablePrestamosInternos.setModel(_nuevoModeloTabla);
    }
    
    /**
     * establece la posicion inicial de la ventana y su tamaño minimo
     */
    private void establecerPosicionYTamano(){
        this.setLocationRelativeTo(null);
        this.setMinimumSize(new java.awt.Dimension(1021, 458));
    }
    
    /**
     * habilita los botenes de opciones para los prestamos
     */
    private void habilitarBotonesOpciones(){
        boolean activar = true;
        jButtonModificar.setEnabled(activar);
        jButtonDevolucion.setEnabled(activar);
        jButtonCancelarPrestamo.setEnabled(activar);
        
        int filaSeleccionada = obtenerFilaSeleccionada();
        String tipoPrestamo = obtenerValorTabla(filaSeleccionada, COLUMNA_TIPO_PRESTAMO);
        if(tipoPrestamo.equals("Externo")){
            jButtonRenovacion.setEnabled(activar);
        }else{
            jButtonRenovacion.setEnabled(!activar);
        }
    }
    
    /**
     * limpia los campos de la tabla
     */
    private void limpiarTabla(){
        DefaultTableModel ModeloDeTabla;
        ModeloDeTabla = obtenerModeloTabla();
        
        int TODA_LA_TABLA = 0;
        while(!esTablaVacia()){
            ModeloDeTabla.removeRow(TODA_LA_TABLA);
        }
        establecerNuevoModeloTabla(ModeloDeTabla);
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonCancelarPrestamo;
    private javax.swing.JButton jButtonDevolucion;
    private javax.swing.JButton jButtonModificar;
    private javax.swing.JButton jButtonNuevoPrestamo;
    private javax.swing.JButton jButtonRenovacion;
    private javax.swing.JMenuItem jInventarioNuevoRegistroEquipoComputo;
    private javax.swing.JLabel jLabelPrestamosExternos;
    private javax.swing.JLabel jLabelPrestmosInternos;
    private javax.swing.JMenu jMenuAdministradores;
    private javax.swing.JMenu jMenuAlumnos;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenu jMenuEmpleados;
    private javax.swing.JMenu jMenuEquiposComputo;
    private javax.swing.JMenuItem jMenuItemCancelar;
    private javax.swing.JMenuItem jMenuItemDevolucion;
    private javax.swing.JMenuItem jMenuItemInfoAlumno;
    private javax.swing.JMenuItem jMenuItemInfoEquipo;
    private javax.swing.JMenuItem jMenuItemModificar;
    private javax.swing.JMenuItem jMenuItemNuevoPrestamo;
    private javax.swing.JMenuItem jMenuItemNuevoRegistro;
    private javax.swing.JMenuItem jMenuItemNuevoRegistroAlumno;
    private javax.swing.JMenuItem jMenuItemNuevoRegistroPersonal;
    private javax.swing.JMenuItem jMenuItemRenovacion;
    private javax.swing.JMenu jMenuReportes;
    private javax.swing.JMenu jMenuVer;
    private javax.swing.JPanel jPanelMenuOpciones;
    private javax.swing.JPopupMenu jPopupOpcionesPrestamos;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JTable jTablePrestamosExternos;
    private javax.swing.JTable jTablePrestamosInternos;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextFieldBusqueda;
    // End of variables declaration//GEN-END:variables
    ControladorCamposTexto controladorCampos;
}